
package com.rt.schedulenew.api;

import java.util.Map;
import java.util.List;

import com.rt.schedulebase.dto.ExamApplyDto;
import com.rt.schedulebase.dto.ExamScheduleDto;
import com.rt.schedulebase.dto.terminal.QueryScheduledApplyDto;
import com.rt.schedulebase.entity.ExamApply;
import com.rt.schedulenew.utils.global.JsonResult;
import com.baomidou.mybatisplus.extension.service.IService;

public interface IExamApplyService extends IService<ExamApply> {
    ExamApply getExamApply(String applyNo, String terminalType);

    JsonResult getDateList(ExamApplyDto p0);

    JsonResult getApmList(ExamApplyDto p0);

    JsonResult getExamSchedules(ExamApplyDto p0);

    JsonResult setApm(ExamApplyDto p0);

    JsonResult delApm(ExamApplyDto p0);

    JsonResult confirmApm(ExamApplyDto p0) throws Exception;

    JsonResult editApm(ExamApplyDto p0);

    JsonResult delScheduleApmMulti(ExamScheduleDto p0);

    JsonResult signinSchedule(ExamApplyDto p0);

    JsonResult noRegularSchedule(ExamApplyDto p0);

    JsonResult print(ExamApplyDto p0);

    JsonResult printMulti(List<ExamApplyDto> p0);

    JsonResult isGestation(ExamApplyDto p0);

    JsonResult editLastMensesDate(ExamApplyDto p0);

    JsonResult editExamApply(ExamApplyDto p0);

    JsonResult delSign(ExamApplyDto p0);

    JsonResult getScheduleExpireDate(ExamApplyDto p0);

    JsonResult getScheduleQueues(ExamApplyDto p0);

    List<String> getSickIds(Map<String, String> p0);

    JsonResult editApplyFlag(ExamApplyDto p0);

    JsonResult signInScheduledItem(ExamApplyDto p0);

    JsonResult signInScheduledMulti(ExamApplyDto p0);

    JsonResult getWaitExamInfo(ExamApplyDto p0);

    List<ExamApply> getList(ExamApplyDto p0);

    /**
     * 获取检查项目提示
     *
     * @param paramExamApplyDto
     * @return
     */
    JsonResult getHint(ExamApplyDto paramExamApplyDto);

    /***
     * 获取患者事件段内预约的申请单列表
     * 
     * @param dto
     * @return
     */
    List<Object> getScheduledList(QueryScheduledApplyDto dto);

    /**
     * 根据患者id和检查类别查询 患者拥有的未检测的申请单号列表
     * 
     * @param sickId
     * @param examClasss
     * @return
     */
    List<String> getSickNoScheduleApplyNos(String sickId, List<String> examClasss);

}
